using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("PackOpeningDirector")]
	public class PackOpeningDirector : MonoBehaviour
	{
		public Vector3 PACK_OPENING_FX_POSITION => method_2<Vector3>("PACK_OPENING_FX_POSITION");

		public PackOpeningCard m_HiddenCard => method_3<PackOpeningCard>("m_HiddenCard");

		public GameObject m_CardsInsidePack => method_3<GameObject>("m_CardsInsidePack");

		public GameObject m_ClassName => method_3<GameObject>("m_ClassName");

		public string m_DoneButtonPrefab => method_4("m_DoneButtonPrefab");

		public Carousel m_Carousel => method_3<Carousel>("m_Carousel");

		public List<PackOpeningCard> m_hiddenCards => method_3<Class271<PackOpeningCard>>("m_hiddenCards")?.method_25();

		public NormalButton m_doneButton => method_3<NormalButton>("m_doneButton");

		public bool m_loadingDoneButton => method_2<bool>("m_loadingDoneButton");

		public bool m_playing => method_2<bool>("m_playing");

		public Spell m_activePackFxSpell => method_3<Spell>("m_activePackFxSpell");

		public int m_cardsPendingReveal => method_2<int>("m_cardsPendingReveal");

		public int m_effectsPendingFinish => method_2<int>("m_effectsPendingFinish");

		public int m_effectsPendingDestroy => method_2<int>("m_effectsPendingDestroy");

		public int m_centerCardIndex => method_2<int>("m_centerCardIndex");

		public bool m_doneButtonShown => method_2<bool>("m_doneButtonShown");

		public PackOpeningCard m_clickedCard => method_3<PackOpeningCard>("m_clickedCard");

		public int m_clickedPosition => method_2<int>("m_clickedPosition");

		public PackOpeningCard m_glowingCard => method_3<PackOpeningCard>("m_glowingCard");

		public PackOpeningDirector(IntPtr address, string className)
			: base(address, className)
		{
		}

		public PackOpeningDirector(IntPtr address)
			: this(address, "PackOpeningDirector")
		{
		}

		public static bool CardCanBeRevealed(PackOpeningCard card)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "PackOpeningDirector", "CardCanBeRevealed", new object[1] { card });
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Update()
		{
			method_8("Update");
		}

		public void Play(int boosterId)
		{
			method_8("Play", boosterId);
		}

		public bool IsPlaying()
		{
			return method_11<bool>("IsPlaying", Array.Empty<object>());
		}

		public bool IsDoneButtonShown()
		{
			return method_11<bool>("IsDoneButtonShown", Array.Empty<object>());
		}

		public List<PackOpeningCard> GetHiddenCards()
		{
			return method_14<Class271<PackOpeningCard>>("GetHiddenCards", Array.Empty<object>())?.method_25();
		}

		public void HideCardsAndDoneButton()
		{
			method_8("HideCardsAndDoneButton");
		}

		public bool FinishPackOpen()
		{
			return method_11<bool>("FinishPackOpen", Array.Empty<object>());
		}

		public void ForceRevealRandomCard()
		{
			method_8("ForceRevealRandomCard");
		}

		public void OnSpellFinished(Spell spell, object userData)
		{
			method_8("OnSpellFinished", spell, userData);
		}

		public void CameraBlurOn()
		{
			method_8("CameraBlurOn");
		}

		public void AttachCardsToCarousel()
		{
			method_8("AttachCardsToCarousel");
		}

		public void CarouselItemClicked(CarouselItem item, int index)
		{
			method_8("CarouselItemClicked", item, index);
		}

		public void CarouselItemReleased()
		{
			method_8("CarouselItemReleased");
		}

		public void CarouselSettled()
		{
			method_8("CarouselSettled");
		}

		public void CarouselStartedScrolling()
		{
			method_8("CarouselStartedScrolling");
		}

		public void InitializeUI()
		{
			method_8("InitializeUI");
		}

		public void OnDoneButtonLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnDoneButtonLoaded", assetRef, go, callbackData);
		}

		public void ShowDoneButton()
		{
			method_8("ShowDoneButton");
		}

		public void OnDoneButtonShown(Spell spell, object userData)
		{
			method_8("OnDoneButtonShown", spell, userData);
		}

		public void HideDoneButton()
		{
			method_8("HideDoneButton");
		}

		public void OnDoneButtonHidden(Spell spell, object userData)
		{
			method_8("OnDoneButtonHidden", spell, userData);
		}

		public void OnDoneButtonPressed(UIEvent e)
		{
			method_8("OnDoneButtonPressed", e);
		}

		public void HideKeywordTooltips()
		{
			method_8("HideKeywordTooltips");
		}

		public void InitializeCards()
		{
			method_8("InitializeCards");
		}

		public void EnableCardInput(bool enable)
		{
			method_8("EnableCardInput", enable);
		}

		public void OnCardRevealed(object userData)
		{
			method_8("OnCardRevealed", userData);
		}

		public void OnHiddenCardSpellFinished(Spell spell, object userData)
		{
			method_8("OnHiddenCardSpellFinished", spell, userData);
		}

		public void OnHiddenCardSpellStateFinished(Spell spell, SpellStateType prevStateType, object userData)
		{
			method_8("OnHiddenCardSpellStateFinished", spell, prevStateType, userData);
		}

		public void OnEffectFinished()
		{
			method_8("OnEffectFinished");
		}

		public void OnEffectDone()
		{
			method_8("OnEffectDone");
		}

		public void FireFinishedEvent()
		{
			method_8("FireFinishedEvent");
		}
	}
}
